home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
PROGRAMMING
/
LCLINT2.SPK
/
test
/
test_b
/
c
/
spccluses3
< prev
next >
Wrap
Text File
|
1996-08-28
|
1KB
|
62 lines
typedef struct
{
int id;
char *name;
} *record;
int *badResult (void)
/* 1. Function result is used in defines clause of badResult but ...
2. Special clause accesses field of non-struct or union result */
/*@defines result->name@*/
{
return NULL; /* 3. Null storage returned as non-null: NULL */
}
/*@special@*/ record createName (/*@only@*/ char *name)
/*@defines result->name@*/
{
record res = (record) malloc (sizeof (*res));
assert (res != NULL);
res->name = name;
return res;
}
/*@special@*/ record createName2 (void)
/*@defines result->name@*/
{
record res = (record) malloc (sizeof (*res));
return res; /* 4. Undefined storage res->name corresponds to storage listed ...
5. Possibly null storage res returned as non-null: res */
}
/*@special@*/ record createName3 (void)
/*@defines result->id@*/
/*@allocates result->name@*/
{
record res = (record) malloc (sizeof (*res));
assert (res != NULL);
res->name = (char *) malloc (sizeof (char) * 23);
res->id = 21;
return res;
}
/*@special@*/ record createName4 (void)
/*@defines result->id@*/
/*@allocates result->name@*/
{
record res = (record) malloc (sizeof (*res));
assert (res != NULL);
res->id = 21;
return res; /* 6. Unallocated storage res->name corresponds to storage ... */
}